1 module hip.windowing.platforms.x11lib.keysym;
2 
3 version(Android){}
4 else version(linux) version = X11;
5 version(X11):
6 enum {
7 
8     /*
9     * TTY function keys, cleverly chosen to map to ASCII, for convenience of
10     * programming, but could have been arbitrary (at the cost of lookup
11     * tables in client code).
12     */
13 
14     XK_BackSpace                    = 0xff08,  /* Back space, back char */
15     XK_Tab                          = 0xff09,
16     XK_Linefeed                     = 0xff0a,  /* Linefeed, LF */
17     XK_Clear                        = 0xff0b,
18     XK_Return                       = 0xff0d,  /* Return, enter */
19     XK_Pause                        = 0xff13,  /* Pause, hold */
20     XK_Scroll_Lock                  = 0xff14,
21     XK_Sys_Req                      = 0xff15,
22     XK_Escape                       = 0xff1b,
23     XK_Delete                       = 0xffff,  /* Delete, rubout */
24     /* Cursor control & motion */
25 
26     XK_Home                        = 0xff50,
27     XK_Left                        = 0xff51,  /* Move left, left arrow */
28     XK_Up                          = 0xff52,  /* Move up, up arrow */
29     XK_Right                       = 0xff53,  /* Move right, right arrow */
30     XK_Down                        = 0xff54,  /* Move down, down arrow */
31     XK_Prior                       = 0xff55,  /* Prior, previous */
32     XK_Page_Up                     = 0xff55,
33     XK_Next                        = 0xff56,  /* Next */
34     XK_Page_Down                   = 0xff56,
35     XK_End                         = 0xff57,  /* EOL */
36     XK_Begin                       = 0xff58,  /* BOL */
37 
38     XK_space = 0x0020,  /* U+0020 SPACE */
39     XK_exclam = 0x0021,  /* U+0021 EXCLAMATION MARK */
40     XK_quotedbl = 0x0022,  /* U+0022 QUOTATION MARK */
41     XK_numbersign = 0x0023,  /* U+0023 NUMBER SIGN */
42     XK_dollar = 0x0024,  /* U+0024 DOLLAR SIGN */
43     XK_percent = 0x0025,  /* U+0025 PERCENT SIGN */
44     XK_ampersand = 0x0026,  /* U+0026 AMPERSAND */
45     XK_apostrophe = 0x0027,  /* U+0027 APOSTROPHE */
46     XK_quoteright = 0x0027,  /* deprecated */
47     XK_parenleft = 0x0028,  /* U+0028 LEFT PARENTHESIS */
48     XK_parenright = 0x0029,  /* U+0029 RIGHT PARENTHESIS */
49     XK_asterisk = 0x002a,  /* U+002A ASTERISK */
50     XK_plus = 0x002b,  /* U+002B PLUS SIGN */
51     XK_comma = 0x002c,  /* U+002C COMMA */
52     XK_minus = 0x002d,  /* U+002D HYPHEN-MINUS */
53     XK_period = 0x002e,  /* U+002E FULL STOP */
54     XK_slash = 0x002f,  /* U+002F SOLIDUS */
55     XK_0 = 0x0030,  /* U+0030 DIGIT ZERO */
56     XK_1 = 0x0031,  /* U+0031 DIGIT ONE */
57     XK_2 = 0x0032,  /* U+0032 DIGIT TWO */
58     XK_3 = 0x0033,  /* U+0033 DIGIT THREE */
59     XK_4 = 0x0034,  /* U+0034 DIGIT FOUR */
60     XK_5 = 0x0035,  /* U+0035 DIGIT FIVE */
61     XK_6 = 0x0036,  /* U+0036 DIGIT SIX */
62     XK_7 = 0x0037,  /* U+0037 DIGIT SEVEN */
63     XK_8 = 0x0038,  /* U+0038 DIGIT EIGHT */
64     XK_9 = 0x0039,  /* U+0039 DIGIT NINE */
65     XK_colon = 0x003a,  /* U+003A COLON */
66     XK_semicolon = 0x003b,  /* U+003B SEMICOLON */
67     XK_less = 0x003c,  /* U+003C LESS-THAN SIGN */
68     XK_equal = 0x003d,  /* U+003D EQUALS SIGN */
69     XK_greater = 0x003e,  /* U+003E GREATER-THAN SIGN */
70     XK_question = 0x003f,  /* U+003F QUESTION MARK */
71     XK_at = 0x0040,  /* U+0040 COMMERCIAL AT */
72     XK_A = 0x0041,  /* U+0041 LATIN CAPITAL LETTER A */
73     XK_B = 0x0042,  /* U+0042 LATIN CAPITAL LETTER B */
74     XK_C = 0x0043,  /* U+0043 LATIN CAPITAL LETTER C */
75     XK_D = 0x0044,  /* U+0044 LATIN CAPITAL LETTER D */
76     XK_E = 0x0045,  /* U+0045 LATIN CAPITAL LETTER E */
77     XK_F = 0x0046,  /* U+0046 LATIN CAPITAL LETTER F */
78     XK_G = 0x0047,  /* U+0047 LATIN CAPITAL LETTER G */
79     XK_H = 0x0048,  /* U+0048 LATIN CAPITAL LETTER H */
80     XK_I = 0x0049,  /* U+0049 LATIN CAPITAL LETTER I */
81     XK_J = 0x004a,  /* U+004A LATIN CAPITAL LETTER J */
82     XK_K = 0x004b,  /* U+004B LATIN CAPITAL LETTER K */
83     XK_L = 0x004c,  /* U+004C LATIN CAPITAL LETTER L */
84     XK_M = 0x004d,  /* U+004D LATIN CAPITAL LETTER M */
85     XK_N = 0x004e,  /* U+004E LATIN CAPITAL LETTER N */
86     XK_O = 0x004f,  /* U+004F LATIN CAPITAL LETTER O */
87     XK_P = 0x0050,  /* U+0050 LATIN CAPITAL LETTER P */
88     XK_Q = 0x0051,  /* U+0051 LATIN CAPITAL LETTER Q */
89     XK_R = 0x0052,  /* U+0052 LATIN CAPITAL LETTER R */
90     XK_S = 0x0053,  /* U+0053 LATIN CAPITAL LETTER S */
91     XK_T = 0x0054,  /* U+0054 LATIN CAPITAL LETTER T */
92     XK_U = 0x0055,  /* U+0055 LATIN CAPITAL LETTER U */
93     XK_V = 0x0056,  /* U+0056 LATIN CAPITAL LETTER V */
94     XK_W = 0x0057,  /* U+0057 LATIN CAPITAL LETTER W */
95     XK_X = 0x0058,  /* U+0058 LATIN CAPITAL LETTER X */
96     XK_Y = 0x0059,  /* U+0059 LATIN CAPITAL LETTER Y */
97     XK_Z = 0x005a,  /* U+005A LATIN CAPITAL LETTER Z */
98     XK_bracketleft = 0x005b,  /* U+005B LEFT SQUARE BRACKET */
99     XK_backslash = 0x005c,  /* U+005C REVERSE SOLIDUS */
100     XK_bracketright = 0x005d,  /* U+005D RIGHT SQUARE BRACKET */
101     XK_asciicircum = 0x005e,  /* U+005E CIRCUMFLEX ACCENT */
102     XK_underscore = 0x005f,  /* U+005F LOW LINE */
103     XK_grave = 0x0060,  /* U+0060 GRAVE ACCENT */
104     XK_quoteleft = 0x0060,  /* deprecated */
105     XK_a = 0x0061,  /* U+0061 LATIN SMALL LETTER A */
106     XK_b = 0x0062,  /* U+0062 LATIN SMALL LETTER B */
107     XK_c = 0x0063,  /* U+0063 LATIN SMALL LETTER C */
108     XK_d = 0x0064,  /* U+0064 LATIN SMALL LETTER D */
109     XK_e = 0x0065,  /* U+0065 LATIN SMALL LETTER E */
110     XK_f = 0x0066,  /* U+0066 LATIN SMALL LETTER F */
111     XK_g = 0x0067,  /* U+0067 LATIN SMALL LETTER G */
112     XK_h = 0x0068,  /* U+0068 LATIN SMALL LETTER H */
113     XK_i = 0x0069,  /* U+0069 LATIN SMALL LETTER I */
114     XK_j = 0x006a,  /* U+006A LATIN SMALL LETTER J */
115     XK_k = 0x006b,  /* U+006B LATIN SMALL LETTER K */
116     XK_l = 0x006c,  /* U+006C LATIN SMALL LETTER L */
117     XK_m = 0x006d,  /* U+006D LATIN SMALL LETTER M */
118     XK_n = 0x006e,  /* U+006E LATIN SMALL LETTER N */
119     XK_o = 0x006f,  /* U+006F LATIN SMALL LETTER O */
120     XK_p = 0x0070,  /* U+0070 LATIN SMALL LETTER P */
121     XK_q = 0x0071,  /* U+0071 LATIN SMALL LETTER Q */
122     XK_r = 0x0072,  /* U+0072 LATIN SMALL LETTER R */
123     XK_s = 0x0073,  /* U+0073 LATIN SMALL LETTER S */
124     XK_t = 0x0074,  /* U+0074 LATIN SMALL LETTER T */
125     XK_u = 0x0075,  /* U+0075 LATIN SMALL LETTER U */
126     XK_v = 0x0076,  /* U+0076 LATIN SMALL LETTER V */
127     XK_w = 0x0077,  /* U+0077 LATIN SMALL LETTER W */
128     XK_x = 0x0078,  /* U+0078 LATIN SMALL LETTER X */
129     XK_y = 0x0079,  /* U+0079 LATIN SMALL LETTER Y */
130     XK_z = 0x007a,  /* U+007A LATIN SMALL LETTER Z */
131     XK_braceleft = 0x007b,  /* U+007B LEFT CURLY BRACKET */
132     XK_bar = 0x007c,  /* U+007C VERTICAL LINE */
133     XK_braceright = 0x007d,  /* U+007D RIGHT CURLY BRACKET */
134     XK_asciitilde = 0x007e,  /* U+007E TILDE */
135 
136     XK_F1 = 0xffbe,
137     XK_F2 = 0xffbf,
138     XK_F3 = 0xffc0,
139     XK_F4 = 0xffc1,
140     XK_F5 = 0xffc2,
141     XK_F6 = 0xffc3,
142     XK_F7 = 0xffc4,
143     XK_F8 = 0xffc5,
144     XK_F9 = 0xffc6,
145     XK_F10 = 0xffc7,
146     XK_F11 = 0xffc8,
147     XK_F12 = 0xffc9,
148 
149     /* Modifiers */
150 
151     XK_Shift_L = 0xffe1,  /* Left shift */
152     XK_Shift_R = 0xffe2,  /* Right shift */
153     XK_Control_L = 0xffe3,  /* Left control */
154     XK_Control_R = 0xffe4,  /* Right control */
155     XK_Caps_Lock = 0xffe5,  /* Caps lock */
156     XK_Shift_Lock = 0xffe6,  /* Shift lock */
157     XK_Meta_L = 0xffe7,  /* Left meta */
158     XK_Meta_R = 0xffe8,  /* Right meta */
159     XK_Alt_L = 0xffe9,  /* Left alt */
160     XK_Alt_R = 0xffea,  /* Right alt */
161 
162     XK_Select                        = 0xff60,  /* Select, mark */
163     XK_Print                         = 0xff61,
164     XK_Execute                       = 0xff62,  /* Execute, run, do */
165     XK_Insert                        = 0xff63,  /* Insert, insert here */
166     XK_Undo                          = 0xff65,
167     XK_Redo                          = 0xff66,  /* Redo, again */
168     XK_Menu                          = 0xff67,
169     XK_Find                          = 0xff68,  /* Find, search */
170     XK_Cancel                        = 0xff69,  /* Cancel, stop, abort, exit */
171     XK_Help                          = 0xff6a,  /* Help */
172     XK_Break                         = 0xff6b,
173     XK_Mode_switch                   = 0xff7e,  /* Character set switch */
174     XK_script_switch                 = 0xff7e,  /* Alias for mode_switch */
175     XK_Num_Lock                      = 0xff7f,
176 
177     XK_KP_Space                      = 0xff80,  /* Space */
178     XK_KP_Tab                        = 0xff89,
179     XK_KP_Enter                      = 0xff8d,  /* Enter */
180     XK_KP_F1                         = 0xff91,  /* PF1, KP_A, ... */
181     XK_KP_F2                         = 0xff92,
182     XK_KP_F3                         = 0xff93,
183     XK_KP_F4                         = 0xff94,
184     XK_KP_Home                       = 0xff95,
185     XK_KP_Left                       = 0xff96,
186     XK_KP_Up                         = 0xff97,
187     XK_KP_Right                      = 0xff98,
188     XK_KP_Down                       = 0xff99,
189     XK_KP_Prior                      = 0xff9a,
190     XK_KP_Page_Up                    = 0xff9a,
191     XK_KP_Next                       = 0xff9b,
192     XK_KP_Page_Down                  = 0xff9b,
193     XK_KP_End                        = 0xff9c,
194     XK_KP_Begin                      = 0xff9d,
195     XK_KP_Insert                     = 0xff9e,
196     XK_KP_Delete                     = 0xff9f,
197     XK_KP_Equal                      = 0xffbd,  /* Equals */
198     XK_KP_Multiply                   = 0xffaa,
199     XK_KP_Add                        = 0xffab,
200     XK_KP_Separator                  = 0xffac,  /* Separator, often comma */
201     XK_KP_Subtract                   = 0xffad,
202     XK_KP_Decimal                    = 0xffae,
203     XK_KP_Divide                     = 0xffaf,
204 
205     XK_KP_0                          = 0xffb0,
206     XK_KP_1                          = 0xffb1,
207     XK_KP_2                          = 0xffb2,
208     XK_KP_3                          = 0xffb3,
209     XK_KP_4                          = 0xffb4,
210     XK_KP_5                          = 0xffb5,
211     XK_KP_6                          = 0xffb6,
212     XK_KP_7                          = 0xffb7,
213     XK_KP_8                          = 0xffb8,
214     XK_KP_9                          = 0xffb9,
215 }